package com.hrb.mall.mapper;

import com.hrb.mall.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.Date;


/**
 * @version 1.0
 * @Author YangJiaQuan_hrbnu
 * @Date 2023/9/21 11:11
 */

public interface UserMapper {
    Integer insert(User user);//插入用户数据

    User findByUsername(String username);//根据用户名来查询用户的数据

    Integer updatePasswordByUid(Integer uid, String password, String modifiedUser, Date modifiedTime);//修改者，修改时间

    User findByUid(Integer uid);

    /**
     *更新用户的数据信息
     * @param user 用户的数据
     * @return 返回值为受影响的行数
     */
    Integer updateInfoByUid(User user);

    /**
     * @Param("SQL映射文件中#{}占位符的变量名"):解决的问题，当SQL 语句的占位符
     * 和映射的接口方法参数名不- -致时，需要将某个参数强行注入到某个占位符变量上时,
     * 可以使用@Param这个注解来标注映射的关系
     * 根据用户uid值来修改用户的头像
     * @param uid
     * @param avatar
     * @param modifiedUser
     * @param modifiedTime
     *return
     */

    Integer updateAvatarByUid(@Param("uid") Integer uid,
                              @Param("avatar") String avatar,
                              @Param("modifiedUser") String modifiedUser,
                              @Param("modifiedTime") Date modifiedTime);

}
